home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
New Star Software Collection
/
NSS_Collection.iso
/
3-252 picture publisher 50
/
1.ima
/
PPSETUPN.MS_
/
PPSETUPN.MS
Wrap
Text File
|
1994-09-06
|
32KB
|
1,030 lines
'*************************************************************************
'* Setup for Micrografx Picture Publisher 5.0 NETV.1
'**************************************************************************
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
'$INCLUDE 'msregdb.inc'
'$INCLUDE 'ppnamini.inc'
'$INCLUDE 'ppini.inc'
''Dialog ID's
CONST WELCOME = 100
CONST NETSUCCESS = 101
CONST CUSTHELP = 115
CONST CDOPTIONS = 116
CONST EXPRESSOPT = 121
CONST PREVER3 = 126
CONST WELCNET = 127
CONST OLEOPTN = 123
CONST CMS = 131
CONST FULLINSTM = 134
CONST PREVER4 = 119
CONST LICENSE = 130
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST OPTIONS = 800
CONST APPHELP = 900
CONST EXITWIN = 1000
CONST BILL1 = 114
CONST WAIT = 5000
CONST MULTILIST = 5200
CONST INSTMENU = 122
CONST INSTMENUEXP = 6200
CONST TOOBIG = 6300
CONST BADPATH = 6400
CONST CDGETNAMEORG = 7500
CONST CDCONFIRMINFO= 7300
CONST LAWS = 7100
''Bitmap ID
CONST LOGO = 1
''File Types
CONST APPFILES = 1
CONST EFCTFILES = 2
CONST TUTFILES = 3
CONST IMPORTFILES = 4
CONST HELPFILES = 5
CONST SCANFILES = 6
CONST TEXTFILES = 7
GLOBAL WINDRIVE$ ''Windows drive letter.
GLOBAL WINDIRECT$
GLOBAL SYSTEMDIRECT$
''CustInst list symbol names
GLOBAL FULLNEEDS$
GLOBAL APPNEEDS$ ''Option list costs per drive
GLOBAL TEXTNEEDS$
GLOBAL IMPORTNEEDS$
GLOBAL TUTNEEDS$
GLOBAL HELPNEEDS$
GLOBAL SCANNEEDS$
GLOBAL EFCTNEEDS$
GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
GLOBAL PICTPUB$ ''Picture Publisher 5.0 Destination directories.
GLOBAL ALBUM$
GLOBAL BRUSH$
GLOBAL CLIPBIT$
GLOBAL DBF$
GLOBAL DEVICE$
GLOBAL EFFECT$
GLOBAL MACRO$
GLOBAL PALETTE$
GLOBAL PRINTSTY$
GLOBAL SAMPLE$
GLOBAL TEXTURE$
GLOBAL THUMB$
GLOBAL TUTORIAL$
GLOBAL FILTER$
GLOBAL PICTPUBOLE$
GLOBAL TooManyFiles%
GLOBAL PICTPUBCK50$
GLOBAL Texist$
''Dialog list symbol names
GLOBAL CHECKSTATES$
GLOBAL STATUSTEXT$
GLOBAL DRIVETEXT$
GLOBAL CUSTID$
GLOBAL ORGID$
''Subroutines and fuctions
DECLARE SUB AddOptFilesToCopyList (ftype%)
DECLARE SUB RecalcOptFiles (ftype%)
DECLARE SUB RecalcPath
DECLARE SUB SetDriveStatus
DECLARE SUB CDOL
DECLARE SUB CreatePPIE
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION HandleDBF LIB "INIUPD.DLL" (szDBFFile$, szFileDir$, szThumbDir$) AS INTEGER
INIT:
CUIDLL$ = "mscuistf.dll" ''custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
MaximizeFrame
SetBitmap CUIDLL$, LOGO
SetTitle "Setup"
exist%=0
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "PPSETUP.INF"
END IF
ReadInfFile szInf$
WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
WINDIRECT$ = GetWindowsDir
SYSTEMDIRECT$ = GetWindowsSysDir
MGXini$ = MakePath(WINDIRECT$, "MGX.INI")
'Check previously installed
IF DoesIniKeyExist (MGXini$, "Micrografx", "Picture Publisher 5.0") THEN
PICTPUB$=GetIniKeyString (MGXini$, "Micrografx", "Picture Publisher 5.0")
PICTPUBCK50$ = PICTPUB$
ELSEIF DoesIniKeyExist (WINDIRECT$+"WIN.INI", "Micrografx", "Picture Publisher 4.0") THEN
PICTPUB$=GetIniKeyString (WINDIRECT$+"WIN.INI", "Micrografx", "Picture Publisher 4.0")
PICTPUBCK$ = PICTPUB$ 'For removing old file names
exist%=1
ELSE
PICTPUB$ = WINDRIVE$ + ":\PICTPUB5"
ENDIF
''CustInst list symbols
CHECKSTATES$ = "CheckItemsState"
STATUSTEXT$ = "StatusItemsText"
DRIVETEXT$ = "DriveStatusText"
FOR i% = 1 TO 6 STEP 1
AddListItem CHECKSTATES$, "ON"
NEXT i%
FOR i% = 1 TO 6 STEP 1
AddListItem STATUSTEXT$, ""
NEXT i%
FOR i% = 1 TO 7 STEP 1
AddListItem DRIVETEXT$, ""
NEXT i%
''Disk cost list symbols
APPNEEDS$ = "AN"
IMPORTNEEDS$= "IN"
TEXTNEEDS$ = "TN"
TUTNEEDS$ = "TTN"
HELPNEEDS$ = "HN"
SCANNEEDS$ = "SN"
EFCTNEEDS$ = "EN"
EXTRACOSTS$ = "ExtraCosts"
FOR i% = 1 TO 26 STEP 1
AddListItem EXTRACOSTS$, "0"
NEXT i%
ReplaceListItem DRIVETEXT$, 7, PICTPUB$
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
'$ENDIF ''DEBUG
'GOTO JUMP
'*************************************************************************
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCNET, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
'*************************************************************************
LICENSE:
sz$ = UIStartDlg(CUIDLL$, LAWS, "FInfoDlgProc", LICENSE, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO LICENSE
END IF
'*************************************************************************
orgnamedlg:
'' Obtain name and organization information
SetSymbolValue "CUSTNAME", custname$
SetSymbolValue "ORGNAME", orgname$
result$=UIStartDlg ("mscuistf.dll", CDGETNAMEORG, "FNameOrgDlgProc", APPHELP, HELPPROC$)
if result$="CONTINUE" then
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO orgnamedlg
else
UIPop 1
GOSUB ASKQUIT
GOTO orgnamedlg
end if
custname$=GetSymbolValue ("NameOut")
orgname$=GetSymbolValue ("OrgOut")
CUSTID$=custname$
ORGID$=orgname$
'' Display confirmation dialog
SetSymbolValue "ConfirmTextIn", ""
AddListItem "ConfirmTextIn", custname$
AddListItem "ConfirmTextIn", orgname$
result$=UIStartDlg ("mscuistf.dll", CDCONFIRMINFO, "FConfirmDlgProc", APPHELP, HELPPROC$)
UIPop 1
if result$="BACK" then
goto orgnamedlg
end if
SetSymbolValue "ConfirmTextIn", ""
custname$ = ""
orgname$ = ""
SetSymbolValue "CUSTNAME", ""
SetSymbolValue "ORGNAME", ""
GOTO PREV
JUMP:
sz$ = UIStartDlg(CUIDLL$, EXPRESSOPT, "FRadioDlgProc", APPHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop 1
IF OPTCUR$ = "1" THEN
FULLEXIST$ = "ON"
GOTO PREV
ELSEIF OPTCUR$ = "2" THEN
GOTO INSTMENU
ELSEIF OPTCUR$ = "3" THEN
ENDIF
ELSEIF sz$ = "REACTIVATE" THEN
GOTO JUMP
ELSE
UIPop 1
GOSUB ASKQUIT
GOTO JUMP
ENDIF
'*************************************************************************
PREV:
IF exist% THEN
sz$ = UIStartDlg(CUIDLL$, PREVER4, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
UIPop 1
GOSUB ASKQUIT
GOTO PREV
ENDIF
ENDIF
'*************************************************************************
sz$ = UIStartDlg(CUIDLL$, WAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
RecalcPath
SetDriveStatus
UIPop 1
INSTMENU:
sz$ = UIStartDlg(CUIDLL$, INSTMENU, "FCustInstDlgProc", CUSTHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
''Install only if it will fit.
IF TooManyFiles% THEN
UIPop 1
GOSUB TOOBIG
GOTO INSTMENU
END IF
UIPop 1
GOTO INSTALL
ELSEIF sz$ = "PATH" THEN
UIPop 1
GOTO GETPATH
ELSEIF sz$ = "CHK1" THEN
RecalcOptFiles APPFILES
SetDriveStatus
GOTO INSTMENU
ELSEIF sz$ = "CHK2" THEN
RecalcOptFiles EFCTFILES
SetDriveStatus
GOTO INSTMENU
ELSEIF sz$ = "CHK3" THEN
RecalcOptFiles TUTFILES
SetDriveStatus
GOTO INSTMENU
ELSEIF sz$ = "CHK4" THEN
RecalcOptFiles IMPORTFILES
SetDriveStatus
GOTO INSTMENU
ELSEIF sz$ = "CHK5" THEN
RecalcOptFiles HELPFILES
SetDriveStatus
GOTO INSTMENU
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO INSTMENU
ELSE
UIPop 1
GOSUB ASKQUIT
GOTO INSTMENU
END IF
'*************************************************************************
'*************************************************************************
INSTALL:
sz$ = UIStartDlg(CUIDLL$, WAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
ClearCopyList
FULLNEEDS$ = ""
APPNEEDS$ = ""
TEXTNEEDS$ = ""
IMPORTNEEDS$ = ""
TUTNEEDS$ = ""
HELPNEEDS$ = ""
SCANNEEDS$ = ""
EFCTNEEDS$ = ""
EXTRACOSTS$ = ""
STATUSTEXT$ = ""
DRIVETEXT$ = ""
PICTPUBOLE$ = PICTPUB$ +"\PP50.EXE" 'Creates full path for PP5.0 OLE working directories
CreateDir PICTPUB$, cmoNone
CDOL
SrcDir$ = GetSymbolValue("STF_SRCDIR")
SrcFileDir$ = MakePath (SrcDir$, "")
ini$ = MakePath(PICTPUB$, "NAMES.INI")
IF IsWindowsShared <> 1 THEN
CreateRegProc
CreateRegKeyValue "PictPub.Image\shell\open\command", " " + PICTPUBOLE$ + " %1"
'OLE 1.0 Compatibility Entries in REG.DAT
CreateRegKeyValue "PictPub.Image\protocol\StdFileEditing\server", " " + PICTPUBOLE$ + " %1"
'OLE 2.0 Entries
CreateRegKeyValue "CLSID\{BC7A9620-3913-101B-9649-020080A38E74}\DefaultIcon", PICTPUBOLE$
CreateRegKeyValue "CLSID\{BC7A9620-3913-101B-9649-020080A38E74}\LocalServer", PICTPUBOLE$
exist% = DoesRegKeyExist ("BitmapImage") 'Detect previous OLE version
UIPop 1
IF exist% THEN
OLEREG:
sz$ = UIStartDlg(CUIDLL$, OLEOPTN, "FRadioDlgProc", APPHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
szName$= "CLSID\{000440EE-0000-0000-C000-000000000046}"
IF sz$ = "CONTINUE" THEN
UIPop 1
IF OPTCUR$ = "1" THEN
exist% = DoesRegKeyExist (szName$)
IF exist% THEN
DeleteRegKey szName$+"\TreatAs"
CreateRegKeyValue szName$+"\AutoConvertTo","{BC7A9620-3913-101B-9649-020080A38E74}"
ENDIF
ELSEIF OPTCUR$ = "2" THEN
exist% = DoesRegKeyExist (szName$)
IF exist% THEN
DeleteRegKey szName$+"\AutoConvertTo"
CreateRegKeyValue szName$+"\TreatAs","{BC7A9620-3913-101B-9649-020080A38E74}"
ENDIF
ELSEIF OPTCUR$ = "3" THEN
exist% = DoesRegKeyExist (szName$)
IF exist% THEN
DeleteRegKey szName$+"\AutoConvertTo"
DeleteRegKey szName$+"\TreatAs"
ENDIF
ELSE
UIPop 1
GOTO OLEREG
ENDIF
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OLEREG
ELSE
UIPop 1
GOSUB ASKQUIT
GOTO OLEREG
ENDIF
ENDIF
ENDIF 'IF Windows shared
szName$=""
IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
IF IsWindowsShared <> 1 THEN
AddSectionFilesToCopyList "OLE", SrcFileDir$, WINDIRECT$+"SYSTEM"
AddSectionFilesToCopyList "OLE", SrcFileDir$, PICTPUB$
ENDIF
AddSectionFilesToCopyList "AppFiles", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "Files", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "MainIni", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "SetupNet", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "THUMBSCD", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "Macros", SrcFileDir$, MACRO$
AddSectionFilestoCopyList "PrintStyles", SrcFileDir$, PRINTSTY$
AddSectionFilestoCopyList "Palettes", SrcFileDir$, PALETTE$
AddSectionFilestoCopyList "DefaultTextures", SrcFileDir$, TEXTURE$
AddSectionFilestoCopyList "DefaultTextureBrush", SrcFileDir$, BRUSH$
AddSectionFilestoCopyList "Brushes", SrcFileDir$, BRUSH$
AddSectionFilesToCopyList "MustTutorial", SrcFileDir$, TUTORIAL$
AddSectionFilestoCopyList "Thumbs", SrcFileDir$, THUMB$
Texist$="ON"
AddSectionFilestoCopyList "Clipbits", SrcFileDir$, CLIPBIT$
UIPop 1
sz$ = UIStartDlg(CUIDLL$, WAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
CreateIniKeyValue ini$, "Clipboard", "Logo", "Logo.pp5", cmoNone
CreateOptStyleNamesEntries(ini$)
CreateOptPaletteNamesEntries(ini$)
CreateDTextrNamesIni(ini$)
CreatePPINIKeyEntries (PICTPUB$+"\pp.ini")
CreatePrintStyNamesEntries(ini$)
IF PICTPUBCK$ = PICTPUB$ THEN
RemoveFile PICTPUBCK$+"\mgxrx101.dll", cmoNone
RemoveFile PICTPUBCK$+"\PP40.exe", cmoNone
RemoveFile PICTPUBCK$+"\effects\reduce.dfx", cmoNone
RemoveIniSection ini$, "Special", cmoNone
RemoveIniSection ini$, "Macro", cmoNone 'remove conflicting macros
ENDIF
ENDIF
IF GetListItem(CHECKSTATES$, IMPORTFILES) = "ON" THEN
AddSectionFilestoCopyList "FilterAppFiles", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "FiltersIni", SrcFileDir$, FILTER$
AddSectionFilesToCopyList "Filters", SrcFileDir$, FILTER$
ENDIF
IF GetListItem(CHECKSTATES$, TUTFILES) = "ON" THEN
AddSectionFilestoCopyList "Tutorial", SrcFileDir$, TUTORIAL$
ENDIF
IF GetListItem(CHECKSTATES$, HELPFILES) = "ON" THEN
AddSectionFilestoCopyList "HelpFile1", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "HelpFile2", SrcFileDir$, PICTPUB$
SCANHELP$="ON"
ENDIF
IF GetListItem(CHECKSTATES$, EFCTFILES) = "ON" THEN
AddSectionFilestoCopyList "Effects", SrcFileDir$, EFFECT$
RemoveIniSection ini$, "Special", cmoNone
CreateOptFXNamesEntries(ini$)
END IF
RemoveIniKey WINDIRECT$+"MGX.INI", "Micrografx", "PP.INI" , cmoNone
CreateIniKeyValue WINDIRECT$+"MGX.INI", "Micrografx", "Picture Publisher 5.0", PICTPUB$, cmoOverwrite
CreateIniKeyValue WINDIRECT$+"MGX.INI", "Picture Publisher 5.0", "Warning", "0", cmoOverwrite
UIPop 1
szInf$ = ""
CopyFilesInCopyList
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = NETSUCCESS
ELSE
UIPop 1
dlg% = EXITQUIT
END IF
IF dlg% = NETSUCCESS THEN
IF IsWindowsShared <> 1 THEN
RUN "Regedit /S OLE2.REG"
ENDIF
around:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOTO around
ENDIF
CreatePPIE
ini$ = MakePath(PICTPUB$, "PP.INI")
CreateProgmanGroup "Micrografx", "", cmoNone
ShowProgmanGroup "Micrografx", 1, cmoNone
IF Texist$="ON" THEN
CreateProgmanItem "Micrografx ", "Picture Publisher 5.0", ""+MakePath(PICTPUB$,"PP50.EXE"), "", cmoOverwrite
ENDIF
IF SCANHELP$="ON" THEN
CreateProgmanItem "Micrografx", "Scanner Installation Help", "winhelp.exe "+MakePath(PICTPUB$,"PP_SCAN.HLP"), "", cmoOverwrite
CreateProgmanItem "Micrografx", "Network Installation Help", "winhelp.exe "+MakePath(PICTPUB$,"network.HLP"), "", cmoOverwrite
ENDIF
CreateIniKeyValue ini$, "Picture Publisher", "User", CUSTID$, cmoOverwrite
CreateIniKeyValue ini$, "Picture Publisher", "Company", ORGID$, cmoOverwrite
CreateIniKeyValue ini$, "Picture Publisher", "SN", "ADMN9649-020080A38E74", cmoOverwrite
ENDIF
GOTO ENDIT '
QUITL1:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
ENDIT:
END
ERRQUIT:
i% = DoMsgBox("Setup file failure. Report to Tech Support 214-497-6495", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
'*************************************************************************
'*************************************************************************
SUB CreatePPIE STATIC
ini$ = MakePath(PICTPUB$, "PP.INI")
szName$="Picture Publisher"
CreateIniKeyValue ini$, szName$, "Device", DEVICE$, cmoNone
CreateIniKeyValue ini$, szName$, "Texture", TEXTURE$, cmoNone
CreateIniKeyValue ini$, szName$, "Palette", PALETTE$, cmoNone
CreateIniKeyValue ini$, szName$, "Effects", EFFECT$, cmoNone
CreateIniKeyValue ini$, szName$, "PrnStyle", PRINTSTY$, cmoNone
CreateIniKeyValue ini$, szName$, "Brush", BRUSH$, cmoNone
CreateIniKeyValue ini$, szName$, "ClipBit", CLIPBIT$, cmoNone
CreateIniKeyValue ini$, szName$, "Shapepath", CLIPBIT$, cmoNone
CreateIniKeyValue ini$, szName$, "Macros", MACRO$, cmoNone
CreateIniKeyValue ini$, szName$, "ThumbnailDir", THUMB$, cmoNone
CreateIniKeyValue ini$, szName$, "DBFInfoDir", THUMB$, cmoNone
CreateIniKeyValue ini$, szName$, "AlbumFileDir", ALBUM$, cmoNone
CreateIniKeyValue ini$, szName$, "Filters", FILTER$, cmoNone
CreateIniKeyValue ini$, szName$, "Pouchpath", PICTPUB$, cmoNone
CreateIniKeyValue ini$, szName$, "RamDisk", PICTPUB$, cmoNone
IF Texist$="ON" THEN
szDBF$ = MakePath (THUMB$, "__HTUTR.DBF")
IF HandleDBF (szDBF$, TUTORIAL$, THUMB$) THEN
END IF
szDBF$ = MakePath (THUMB$, "__HOME.DBF")
IF HandleDBF (szDBF$, PICTPUB$, THUMB$) THEN
END IF
szDBF$ = MakePath (THUMB$, "__CLIPBT.DBF")
IF HandleDBF (szDBF$, CLIPBIT$, THUMB$) THEN
END IF
ENDIF
END SUB
'*************************************************************************
SUB CDOL STATIC
szName$="Picture Publisher"
SrcDir$ = GetSymbolValue("STF_SRCDIR")
SrcFileDir$ = MakePath (SrcDir$, "")
ini$ = MakePath(PICTPUB$, "PP.INI")
DEVICE$ = GetIniKeyString (ini$, szName$, "Device")
IF DEVICE$ = "" THEN
DEVICE$ = MakePath (PICTPUB$, "DEVICES")
CreateDir DEVICE$, cmoNone
END IF
ALBUM$ = GetIniKeyString (ini$, szName$, "AlbumFileDir")
IF ALBUM$ = "" THEN
ALBUM$ = MakePath (PICTPUB$, "ALBUMS")
CreateDir ALBUM$, cmoNone
END IF
BRUSH$ = GetIniKeyString (ini$, szName$, "Brush")
IF BRUSH$ = "" THEN
BRUSH$ = MakePath (PICTPUB$, "BRUSHES")
CreateDir BRUSH$, cmoNone
END IF
CLIPBIT$ = GetIniKeyString (ini$, szName$, "ClipBits")
IF CLIPBIT$ = "" THEN
CLIPBIT$ = MakePath (PICTPUB$, "CLIPBITS")
CreateDir CLIPBIT$, cmoNone
END IF
THUMB$ = GetIniKeyString (ini$, szName$, "DBFInfoDir")
IF THUMB$ = "" THEN
THUMB$ = MakePath (PICTPUB$, "THUMBS")
CreateDir THUMB$, cmoNone
END IF
EFFECT$ = GetIniKeyString (ini$, szName$, "Effects")
IF EFFECT$ = "" THEN
EFFECT$ = MakePath (PICTPUB$, "EFFECTS")
CreateDir EFFECT$, cmoNone
END IF
MACRO$ = GetIniKeyString (ini$, szName$, "Macros")
IF MACRO$ = "" THEN
MACRO$ = MakePath (PICTPUB$, "MACROS")
CreateDir MACRO$, cmoNone
END IF
PALETTE$ = GetIniKeyString (ini$, szName$, "Palette")
IF PALETTE$ = "" THEN
PALETTE$ = MakePath (PICTPUB$, "PALETTES")
CreateDir PALETTE$, cmoNone
END IF
PRINTSTY$ = GetIniKeyString (ini$, szName$, "PrnStyle")
IF PRINTSTY$ = "" THEN
PRINTSTY$ = MakePath (PICTPUB$, "PRINTSTY")
CreateDir PRINTSTY$, cmoNone
END IF
TEXTURE$ = GetIniKeyString (ini$, szName$, "Texture")
IF TEXTURE$ = "" THEN
TEXTURE$ = MakePath (PICTPUB$, "TEXTURES")
CreateDir TEXTURE$, cmoNone
END IF
DBF$ = GetIniKeyString (ini$, szName$, "DBFInfoDir")
IF DBF$ = "" THEN
DBF$ = MakePath (PICTPUB$, "THUMBS")
END IF
THUMB$ = GetIniKeyString (ini$, szName$, "ThumbnailDir")
IF THUMB$ = "" THEN
THUMB$ = MakePath (PICTPUB$, "THUMBS")
CreateDir THUMB$, cmoNone
END IF
FILTER$ = GetIniKeyString (ini$, szName$, "Filters")
IF FILTER$ = "" THEN
FILTER$ = MakePath (PICTPUB$, "FILTERS")
CreateDir FILTER$, cmoNone
END IF
TUTORIAL$ = GetIniKeyString (ini$, szName$, "Tutorial")
IF TUTORIAL = "" THEN
TUTORIAL = MakePath (PICTPUB$, "TUTORIAL")
CreateDir TUTORIAL$, cmoNone
END IF
END SUB
'*************************************************************************
GETPATH:
SetSymbolValue "EditTextIn", PICTPUB$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
oldPICTPUB$ = PICTPUB$
PICTPUB$ = GetSymbolValue("EditTextOut")
''Validate new path.
IF IsDirWritable(PICTPUB$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
''Truncate display if too long.
IF LEN(PICTPUB$) > 40 THEN
ReplaceListItem DRIVETEXT$, 7, MID$(PICTPUB$, 1, 40)+"..."
ELSE
ReplaceListItem DRIVETEXT$, 7, PICTPUB$
END IF
''Recalc if path changed.
IF (oldPICTPUB$ <> PICTPUB$) AND (oldPICTPUB$ <> PICTPUB$+"\") AND (oldPICTPUB$+"\" <> PICTPUB$) THEN
sz$ = UIStartDlg(CUIDLL$, WAIT, "FModelessDlgProc", APPHELP, HELPPROC$)
RecalcPath
SetDriveStatus
UIPop 1
END IF
oldPICTPUB$ = ""
GOTO INSTMENU
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO GETPATHL1
ELSEIF sz$ = "EXIT" THEN
GOSUB ASKQUIT
GOTO GETPATHL1
ELSE
UIPop 1
GOTO INSTMENU
END IF
'*************************************************************************
TOOBIG:
sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO TOOBIG
END IF
UIPop 1
RETURN
'*************************************************************************
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO BADPATH
END IF
UIPop 1
RETURN
'*************************************************************************
ASKQUIT:
UIPop 1
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'*************************************************************************
SUB RecalcOptFiles (ftype%) STATIC
CursorSave% = ShowWaitCursor()
ClearCopyList
AddOptFilesToCopyList ftype%
fExtra% = 0
IF ftype% = APPFILES THEN
ListSym$ = APPNEEDS$
IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
''Add extra cost to Windows drive for ini/progman, etc.
ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
fExtra% = 1
END IF
ELSEIF ftype% = TUTFILES THEN
ListSym$ = TUTNEEDS$
ELSEIF ftype% = IMPORTFILES THEN
ListSym$ = IMPORTNEEDS$
ELSEIF ftype% = HELPFILES THEN
ListSym$ = HELPNEEDS$
ELSEIF ftype% = EFCTFILES THEN
ListSym$ = EFCTNEEDS$
END IF
StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "needmore")
cost& = 0
FOR i% = 1 TO 26 STEP 1
cost& = cost& + VAL(GetListItem(ListSym$, i%))
IF VAL(GetListItem("needmore", i%)) > 0 THEN
ELSE
END IF
NEXT i%
ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
IF fExtra% THEN
ReplaceListItem EXTRACOSTS$, ndrive%, "0"
END IF
RestoreCursor CursorSave%
ListSym$ = ""
END SUB
'*************************************************************************
SUB RecalcPath STATIC
CursorSave% = ShowWaitCursor()
RecalcOptFiles (APPFILES)
RecalcOptFiles (IMPORTFILES)
RecalcOptFiles (HELPFILES)
RecalcOptFiles (EFCTFILES )
RecalcOptFiles (TUTFILES)
RestoreCursor CursorSave%
END SUB
'*************************************************************************
SUB SetDriveStatus STATIC
TooManyFiles% = 0
drive$ = MID$(PICTPUB$, 1, 1)
ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
cost1& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(IMPORTNEEDS$, ndrive%)) ' + VAL(GetListItem(TEXTNEEDS$, ndrive%))
cost2& = VAL(GetListItem(TUTNEEDS$, ndrive%)) + VAL(GetListItem(EFCTNEEDS$, ndrive%)) + VAL(GetListItem(HELPNEEDS$, ndrive%))
cost& = cost1& + cost2&
free& = GetFreeSpaceForDrive(drive$)
ReplaceListItem DRIVETEXT$, 1, ucase$(drive$) + ":"
ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
IF cost& > free& THEN
TooManyFiles% = 1
END IF
IF drive$ = WINDRIVE$ THEN
ReplaceListItem DRIVETEXT$, 4, ""
ReplaceListItem DRIVETEXT$, 5, ""
ReplaceListItem DRIVETEXT$, 6, ""
ELSE
ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
cost1& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(IMPORTNEEDS$, ndrive%)) ' + VAL(GetListItem(TEXTNEEDS$, ndrive%))
cost2& = VAL(GetListItem(TUTNEEDS$, ndrive%)) + VAL(GetListItem(EFCTNEEDS$, ndrive%)) + VAL(GetListItem(HELPNEEDS$, ndrive%))
cost& = cost1& + cost2&
IF cost& = 0 THEN
ReplaceListItem DRIVETEXT$, 4, ""
ReplaceListItem DRIVETEXT$, 5, ""
ReplaceListItem DRIVETEXT$, 6, ""
ELSE
free& = GetFreeSpaceForDrive(WINDRIVE$)
ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
END IF
IF cost& > free& THEN
TooManyFiles% = 1
END IF
END IF
END SUB
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION
'*************************************************************************
'*************************************************************************
SUB AddOptFilesToCopyList (ftype%) STATIC
IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
SrcDir$ = GetSymbolValue("STF_SRCDIR")
SrcFileDir$ = MakePath (SrcDir$, "")
IF PICTPUBCK50$ <> PICTPUB$ THEN
IF ftype% = APPFILES THEN
'For Net install
AddSectionFilesToCopyList "Files", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "SetupNet", SrcFileDir$, PICTPUB$
IF IsWindowsShared <> 1 THEN
AddSectionFilesToCopyList "OLE", SrcFileDir$, WINDIRECT$+"SYSTEM"
AddSectionFilesToCopyList "OLE", SrcFileDir$, PICTPUB$
ENDIF
AddSectionFilesToCopyList "AppFiles", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "MainIni", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "Macros", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "PrintStyles", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "Palettes", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "DefaultTextures", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "DefaultTextureBrush", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "Brushes", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "MustTutorial", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "Thumbs", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "Clipbits", SrcFileDir$, PICTPUB$
ENDIF
IF ftype% = IMPORTFILES THEN
AddSectionFilestoCopyList "FilterAppFiles", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "FiltersIni", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "Filters", SrcFileDir$, PICTPUB$
ENDIF
IF ftype% = TUTFILES THEN
AddSectionFilesToCopyList "Tutorial", SrcFileDir$, PICTPUB$
ENDIF
IF ftype% = HELPFILES THEN
AddSectionFilestoCopyList "HelpFile1", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "HelpFile2", SrcFileDir$, PICTPUB$
ENDIF
IF ftype% = EFCTFILES THEN
AddSectionFilestoCopyList "Effects", SrcFileDir$, PICTPUB$
END IF
SrcDir$ = ""
ELSE
IF ftype% = APPFILES THEN
'For Net install
AddSectionFilesToCopyList "Files", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "SetupNet", SrcFileDir$, PICTPUB$
IF IsWindowsShared <> 1 THEN
AddSectionFilesToCopyList "OLE", SrcFileDir$, WINDIRECT$+"SYSTEM"
AddSectionFilesToCopyList "OLE", SrcFileDir$, PICTPUB$
ENDIF
AddSectionFilesToCopyList "AppFiles", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "Files", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "MainIni", SrcFileDir$, PICTPUB$
AddSectionFilesToCopyList "SetupNet", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "Macros", SrcFileDir$, PICTPUB$+"\macros"
AddSectionFilestoCopyList "PrintStyles", SrcFileDir$, PICTPUB$+"\printsty"
AddSectionFilestoCopyList "Palettes", SrcFileDir$, PICTPUB$+"\palettes"
AddSectionFilestoCopyList "DefaultTextures", SrcFileDir$, PICTPUB$+"\textures"
AddSectionFilestoCopyList "DefaultTextureBrush", SrcFileDir$, PICTPUB$+"\brushes"
AddSectionFilestoCopyList "Brushes", SrcFileDir$, PICTPUB$+"\brushes"
AddSectionFilesToCopyList "MustTutorial", SrcFileDir$, PICTPUB$+"\tutorial"
AddSectionFilestoCopyList "Thumbs", SrcFileDir$, PICTPUB$+"\thumbs"
AddSectionFilestoCopyList "Clipbits", SrcFileDir$, PICTPUB$+"\clipbits"
ENDIF
IF ftype% = IMPORTFILES THEN
AddSectionFilestoCopyList "FilterAppFiles", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "FiltersIni", SrcFileDir$, PICTPUB$+"\filters"
AddSectionFilesToCopyList "Filters", SrcFileDir$, PICTPUB$+"\filters"
ENDIF
IF ftype% = TUTFILES THEN
AddSectionFilesToCopyList "Tutorial", SrcFileDir$, PICTPUB$+"\tutorial"
ENDIF
IF ftype% = HELPFILES THEN
AddSectionFilestoCopyList "HelpFile1", SrcFileDir$, PICTPUB$
AddSectionFilestoCopyList "HelpFile2", SrcFileDir$, PICTPUB$
ENDIF
IF ftype% = EFCTFILES THEN
AddSectionFilestoCopyList "Effects", SrcFileDir$, PICTPUB$+"\effects"
END IF
SrcDir$ = ""
END IF
ENDIF
END SUB